10 ; STELLAR ARENA 20 ; COPYRIGHT 1988 30 ; BY ANALOG COMPUTING 40 .OPT NO LIST 50 ;CAS=$71F 60 *= $4120 70 ;CAS=$7FF 80 CH = $41FF 90 S = $C5 0100 ;CAS=$8E7 0110 PCH = $42AF 0120 HPO = $0600 0130 VPO = $0602 0140 APO = $0604 0150 HMO = $0606 0160 VMO = $0608 0170 AMO = $060A 0180 HSP = $060C 0190 VSP = $060E 0200 ASP = $0610 0210 XLA = $0612 0220 XPL = $0616 0230 BPL = $0618 0240 XPO = $0619 0250 BIT = $062B 0260 XSH = $063D 0270 BSH = $0641 0280 DIR = $0645 0290 ;BOOT 0300 .BYTE 0,9,$1F,7,$2C,7 0310 LDA #60 0320 STA $D302 0330 CLC 0340 RTS 0350 LDA # RUN 0380 STA 11 0390 RTS 0400 ;WORD DATA 0410 .DBYTE 0,$B3,$B4A5,$ACAC,$A1B2,0,$A1B2,$A5AE,$A100,0 0420 .DBYTE 0,$23,$2F30,$3932,$2927,$2834,$D1,$D9D8,$D300,0 0430 .DBYTE 0,0,$6A,$6F68,$6E00,$6F72,$7469,$7A00,0,0 0440 TS1 .DBYTE $68,$6967,$6800,$73,$636F,$7265,$5A10,$1010,$1010,$1000 0450 .DBYTE $F0,$ECE1,$F9E5,$F200,$1100,$F0,$ECE1,$F9E5,$F200,$1200 0460 TS2 .DBYTE $73,$5A10,$1010,$1010,$1000,$73,$5A10,$1010,$1010,$1000 0470 .DBYTE $EC,$DA10,$EC,$2100,$F4DA,$1919,$F0,$1200,$ECDA,$1000 0480 ;DL#1 C* 0490 .BYTE 112,112,112,112,112,112,71,$36,$41,112,112,112 0500 .BYTE 112,70,$4A,$41,112,112,70,$5E,$41,65,$C2,$41 0510 ;DL#2 C* 0520 .BYTE 112,112,112,70,200,$39,6,70,200,$3A,134 0530 .BYTE 70,0,$39,6,6,6,6,6,6,6,6,6,70,0 0540 .BYTE $3A,6,6,6,6,6,6,6,6,6,65,$DA,$41 0550 ;CHSET 0560 .DBYTE 0,0,0,0,0,0,0,0 0570 .BYTE 255,255,255,255,255,255,255,255 0580 .BYTE 240,240,240,240,240,240,240,240 0590 .BYTE 15,15,15,15,15,15,15,15 0600 .BYTE 3,7,14,28,56,112,224,192 0610 .BYTE 192,224,112,56,28,14,7,3 0620 .BYTE 3,12,28,60,124,124,128,128 0630 .BYTE 192,48,56,60,62,62,1,1 0640 .BYTE 1,1,62,62,60,56,48,192 0650 .BYTE 128,128,124,124,60,28,12,3 0660 .BYTE 128,64,0,0,0,0,0,0 0670 .BYTE 0,0,32,16,0,0,0,0 0680 .BYTE 0,0,0,0,8,4,0,0 0690 .BYTE 0,0,0,0,0,0,2,1 0700 .BYTE 1,2,0,0,0,0,0,0 0710 .BYTE 0,0,4,8,0,0,0,0 0720 .BYTE 0,0,0,0,16,32,0,0 0730 .BYTE 0,0,0,0,0,0,64,128 0740 .BYTE 0,85,170,0,85,170,0,0 0750 .BYTE 66,165,90,60,60,90,165,66 0760 .BYTE 0,0,24,60,60,24,0,0 0770 .BYTE 0,0,34,20,0,20,34,0 0780 .BYTE 0,0,8,8,62,8,8,0 0790 .BYTE 0,16,36,26,88,36,8,0 0800 .BYTE 240,96,126,240,240,126,96,240 0810 .BYTE 15,6,126,15,15,126,6,15 0820 ;VC1 0830 VC1 .BYTE 0,0,0,255,1,255,1,0,1,1 0840 .BYTE 0,1,255,1,255,0,255,255 0850 ;VC2 0860 VC2 .BYTE 0,235,236,237,1,21,20,19,255 0870 ;DLI#1 0880 DLI1 SEI 0890 PHA 0900 TXA 0910 PHA 0920 LDA #$42 ;C* 0930 LDX #0 0940 EOR $4F 0950 AND $4E 0960 STA $D40A 0970 STA $D409 0980 STX $D01A 0990 PLA 1000 TAX 1010 PLA 1020 CLI 1030 RTI 1040 ;VBI 1050 VBI INC $B2 1060 INC $E5 1070 INC $CE 1080 INC $CF 1090 INC $D4 1100 INC $DB 1110 INC $E0 1120 LDX #7 1130 A1 LDA 705,X 1140 STA 53267,X 1150 DEX 1160 BNE A1 1170 LDA 756 1180 STA $D409 1190 LDA #192 1200 STA 54286 1210 LDA #0 1220 LDX #4 1230 E5 CMP $D6,X 1240 BEQ E5+6 1250 DEC $D6,X 1260 DEX 1270 BNE E5 1280 TXA 1290 LDY VPO 1300 DEY 1310 STA $3C00,Y 1320 LDY VPO+1 1330 DEY 1340 STA $3D00,Y 1350 LDX VMO 1360 LDA $3B00,X 1370 AND #252 1380 STA $3B00,X 1390 LDX VMO+1 1400 LDA $3B00,X 1410 AND #243 1420 STA $3B00,X 1430 LDA #0 1440 STA $CD 1450 G2 LDX APO 1460 LDA HPO 1470 CLC 1480 ADC VC1,X 1490 STA HPO 1500 STA 53248 1510 INX 1520 LDA VPO 1530 CLC 1540 ADC VC1,X 1550 STA VPO 1560 LDA $B0 1570 CMP #10 1580 BCC G1 1590 INC $CD 1600 LDA $CD 1610 CMP #1 1620 BEQ G2 1630 G1 LDX AMO 1640 LDA HMO 1650 CLC 1660 ADC VC1,X 1670 CLC 1680 ADC VC1,X 1690 STA HMO 1700 STA 53252 1710 INX 1720 LDA VMO 1730 CLC 1740 ADC VC1,X 1750 CLC 1760 ADC VC1,X 1770 STA VMO 1780 TAX 1790 LDA $3B00,X 1800 ORA #1 1810 STA $3B00,X 1820 LDA $CD 1830 CMP #1 1840 BEQ G4 1850 LDA $B1 1860 CMP #1 1870 BEQ C6 1880 LDA #0 1890 STA $CD 1900 G4 LDX APO+1 1910 LDA HPO+1 1920 CLC 1930 ADC VC1,X 1940 STA HPO+1 1950 STA 53249 1960 INX 1970 LDA VPO+1 1980 CLC 1990 ADC VC1,X 2000 STA VPO+1 2010 LDA $B0 2020 CMP #10 2030 BCC G3 2040 INC $CD 2050 LDA $CD 2060 CMP #1 2070 BEQ G4 2080 G3 LDX AMO+1 2090 LDA HMO+1 2100 CLC 2110 ADC VC1,X 2120 CLC 2130 ADC VC1,X 2140 STA HMO+1 2150 STA 53253 2160 INX 2170 LDA VMO+1 2180 CLC 2190 ADC VC1,X 2200 CLC 2210 ADC VC1,X 2220 STA VMO+1 2230 TAX 2240 LDA $3B00,X 2250 ORA #4 2260 STA $3B00,X 2270 ;SPIKES 2280 C6 LDA $B0 2290 CMP #7 2300 BCS D2-4 2310 JMP D6 2320 LDA #0 2330 STA $C9 2340 D2 LDX ASP 2350 LDA HSP 2360 CLC 2370 ADC VC1,X 2380 STA HSP 2390 STA 53250 2400 INX 2410 LDA VSP 2420 CLC 2430 ADC VC1,X 2440 STA VSP 2450 TAY 2460 LDX #8 2470 D3 LDA PCH+16,X 2480 STA $3E00,Y 2490 DEY 2500 DEX 2510 BNE D3 2520 INC $C9 2530 LDA $B0 2540 CMP #10 2550 BCC D6 2560 LDA $C9 2570 CMP #1 2580 BEQ D2 2590 LDA $B0 2600 CMP #13 2610 BCC D6 2620 D5 LDX ASP+1 2630 LDA HSP+1 2640 CLC 2650 ADC VC1,X 2660 STA HSP+1 2670 STA 53251 2680 INX 2690 LDA VSP+1 2700 CLC 2710 ADC VC1,X 2720 STA VSP+1 2730 TAY 2740 LDX #8 2750 D4 LDA PCH+16,X 2760 STA $3F00,Y 2770 DEY 2780 DEX 2790 BNE D4 2800 INC $C9 2810 LDA $C9 2820 CMP #3 2830 BEQ D5 2840 ;XENOPODS 2850 D6 LDA $D4 2860 CMP #17 2870 BNE A4 2880 LDA #0 2890 STA $D4 2900 LDY #8 2910 LDX #8 2920 LDA $B2 2930 CMP #2 2940 BEQ D7 2950 LDX #16 2960 D7 LDA PCH-16,X 2970 STA CH+8,Y 2980 DEX 2990 DEY 3000 BNE D7 3010 A4 LDA #0 3020 STA $CD 3030 LDX #2 3040 LDA VPO-1,X 3050 STA $CA,X 3060 DEX 3070 BNE A4+6 3080 LDA $B2 3090 CMP #2 3100 BEQ A5 3110 LDA #90 3120 STA $D012 3130 STA 704 3140 LDA #134 3150 STA $D013 3160 STA 705 3170 LDX #8 3180 LDA PCH,X 3190 LDY $CB 3200 STA $3C00,Y 3210 DEC $CB 3220 LDY $CC 3230 STA $3D00,Y 3240 DEC $CC 3250 DEX 3260 INC $CD 3270 LDA $CD 3280 CMP #9 3290 BCC A4+38 3300 JMP $E45F 3310 A5 LDA #134 3320 STA $D012 3330 STA 704 3340 LDA #90 3350 STA $D013 3360 STA 705 3370 LDA #0 3380 STA $B2 3390 LDX #16 3400 JMP A4+38 3410 ;IRQ 3420 IRQ TXA 3430 PHA 3440 LDX $E6 3450 CPX #3 3460 BEQ Q2 3470 LDX $E3 3480 CPX #0 3490 BEQ P9 3500 DEX 3510 DEX 3520 DEX 3530 STX $E3 3540 STX $D202 3550 LDA #172 3560 STA $D203 3570 JMP J3+5 3580 P9 INC $E6 3590 LDA #252 3600 STA $E3 3610 JMP J3+5 3620 Q2 LDX $BD 3630 CPX #200 3640 BCS J3 3650 INX 3660 INX 3670 STX $BD 3680 STX $D202 3690 LDA #166 3700 STA $D203 3710 JMP J3+5 3720 J3 LDA #0 3730 STA $D203 3740 LDA $3AE6 3750 CMP #16 3760 BNE Q3-5 3770 LDX #51 3780 STX $BF 3790 LDX $E1 3800 CPX #1 3810 BEQ Q5 3820 LDX $E4 3830 CPX #70 3840 BCS Q5 3850 INX 3860 INX 3870 STX $E4 3880 STX $D206 3890 LDA #164 3900 STA $D207 3910 LDA #0 3920 STA $E1 3930 JMP Q3 3940 Q5 LDA #1 3950 STA $E1 3960 LDX $E4 3970 CPX #10 3980 BCC J3+22 3990 DEX 4000 DEX 4010 STX $E4 4020 STX $D206 4030 LDA #164 4040 STA $D207 4050 JMP Q3 4060 LDA #0 4070 STA $D207 4080 Q3 LDX $BE 4090 CPX #252 4100 BCS J4+5 4110 CPX #251 4120 BEQ J4 4130 INX 4140 STX $BE 4150 STX $D204 4160 LDA #168 4170 STA $D205 4180 JMP J4+5 4190 J4 LDA #0 4200 STA $D205 4210 LDX $BF 4220 CPX #51 4230 BEQ J5+5 4240 BCS J5 4250 INX 4260 STX $BF 4270 STX $D206 4280 LDA #138 4290 STA $D207 4300 JMP J5+5 4310 J5 LDA #0 4320 STA $D207 4330 PLA 4340 TAX 4350 PLA 4360 RTI 4370 ;JOY 4380 JOY LDX #0 4390 LDY #9 4400 CMP JOD-1,Y 4410 BEQ JOY+14 4420 INX 4430 INX 4440 DEY 4450 BNE JOY+4 4460 RTS 4470 ;SP CHEC 4480 FA LDA 53770 4490 AND #6 4500 CMP #0 4510 BNE FA+11 4520 ORA #2 4530 RTS 4540 ;LEVEL CHANGE 4550 LEVC LDX $B0 4560 DEX 4570 LDA LCT,X 4580 STA 710 4590 LDA ATD,X 4600 STA $B7 4610 LDA MTD,X 4620 STA $B6 4630 LDA LPD,X 4640 STA $B4 4650 LDA XMO,X 4660 STA $B5 4670 TXA 4680 CLC 4690 ADC #33 4700 STA $3AE2 4710 JSR PUT 4720 RTS 4730 ;CHECK BIT 4740 H3 CPX #2 4750 BEQ H3+10 4760 LDX #2 4770 SEC 4780 SBC #200 4790 RTS 4800 LDX #0 4810 CLC 4820 ADC #200 4830 RTS 4840 ;COLORS 4850 CTB .BYTE $8C,$5C,$88,$0E,$30 4860 LCT .BYTE $88,$8A,$8C,$D8,$DA,$DC,$68,$6A,$6C 4870 .BYTE $F8,$FA,$FC,$48,$4A,$4C 4880 ;LEVEL DATA 4890 ATD .DBYTE $0404,$0405,$0505,$0606,$0607,$0707,$0808,$0800 4900 MTD .DBYTE $0A0C,$0E10,$1214,$1618,$1A1C,$1E20,$2224,$2600 4910 LPD .DBYTE $2624,$2220,$1E1C,$1A18,$1614,$1210,$0E0C,$0A00 4920 XMO .DBYTE $2A28,$2624,$2220,$1E1C,$1A18,$1614,$1210,$0E00 4930 XAL .BYTE 42,57,157,142 4940 ;JOY DATA 4950 JOD .BYTE 10,11,9,13,5,7,6,14,15 4960 ;LAS VECS 4970 LVC .BYTE 19,237,21,235 4980 LMN .BYTE 71,72,73,74,133,134,133,134 4990 LSV .BYTE 21,19,235,237,203,207,206,210 5000 CLS .BYTE 207,211,207,211,203,207,203,207,206,210,203,207 5010 ;SOUND DATA 5020 STB .BYTE 60,201,252,51 5030 ;RUN 5040 RUN LDA #$C2 5050 STA 560 5060 LDA #$41 ;C* 5070 STA 561 5080 LDA #0 5090 TAX 5100 STA $0600,X 5110 DEX 5120 BNE RUN+13 5130 STA 20 5140 STA 19 5150 LDA #1 5160 STA $B0 5170 STA $B1 5180 STA $E2 5190 LDA #17 5200 STA 623 5210 LDA #56 5220 STA 54279 5230 LDA #3 5240 STA 53277 5250 LDA #62 5260 STA 559 5270 LDA # DLI1 5300 STA 513 5310 LDA #192 5320 STA 54286 5330 LDA #6 5340 LDX # >VBI 5350 LDY # IRQ 5490 STA $0211 5500 LDA 16 5510 ORA #1 5520 STA 16 5530 STA $D20E 5540 LDA #2 5550 STA $DC 5560 LDX #4 5570 J6 LDA STB-1,X 5580 STA $BB,X 5590 DEX 5600 BNE J6 5610 A7 LDA 19 5620 CMP #1 5630 BCC A7 5640 LDA #$DA 5650 STA 560 5660 LDA #$41 ;C* 5670 STA 561 5680 ;CLEAR 5690 LDA #0 5700 TAX 5710 A6 STA $0600,X 5720 STA $3B00,X 5730 STA $3C00,X 5740 STA $3D00,X 5750 STA $3E00,X 5760 STA $3F00,X 5770 DEX 5780 BNE A6 5790 LDY 54283 5800 CPY #$70 5810 BCC A6+21 5820 STA $3900,X 5830 STA $3A00,X 5840 DEX 5850 BNE A6+28 5860 LDA #0 5870 STA $D205 5880 STA $BA 5890 STA $BB 5900 LDA #3 5910 STA $B9 5920 ;UPLOAD 5930 LDX #40 5940 A8 LDA TS1-1,X 5950 STA $39C7,X 5960 LDA TS2-1,X 5970 STA $3AC7,X 5980 DEX 5990 BNE A8 6000 LDA #16 6010 STA $3ADF 6020 STA $3AEE 6030 LDA $B1 6040 CLC 6050 ADC #16 6060 STA $3AEA 6070 ;WALLS 6080 LDX #10 6090 LDA #130 6100 STA $3904,X 6110 STA $3AB8,X 6120 DEX 6130 BNE A8+35 6140 LDX #119 6150 LDY #5 6160 LDA #132 6170 STA $3900,X 6180 STA $399C,X 6190 TXA 6200 SEC 6210 SBC #19 6220 TAX 6230 LDA #131 6240 STA $3900,X 6250 STA $399C,X 6260 TXA 6270 CLC 6280 ADC #39 6290 TAX 6300 DEY 6310 BNE A8+48 6320 LDY #5 6330 LDX #4 6340 A9 LDA #133 6350 STA $3900,X 6360 STA $3A73,X 6370 LDA #64 6380 INX 6390 STA $3A73,X 6400 DEX 6410 DEX 6420 STA $3900,X 6430 INX 6440 TXA 6450 CLC 6460 ADC #19 6470 TAX 6480 DEY 6490 BNE A9 6500 LDY #5 6510 LDX #15 6520 LDA #134 6530 STA $3900,X 6540 STA $3A55,X 6550 LDA #64 6560 INX 6570 STA $3900,X 6580 DEX 6590 DEX 6600 STA $3A55,X 6610 INX 6620 TXA 6630 CLC 6640 ADC #21 6650 TAX 6660 DEY 6670 BNE A9+32 6680 LDX #131 6690 STX $3964 6700 INX 6710 STX $3A63 6720 LDA #0 6730 LDX #16 6740 STA CH,X 6750 DEX 6760 BNE A9+73 6770 ;COLORS 6780 LDX #5 6790 LDA CTB-1,X 6800 STA 707,X 6810 DEX 6820 BNE A9+81 6830 LDA #$1E 6840 STA 706 6850 STA 707 6860 LDA $E2 6870 STA $B0 6880 JSR LEVC 6890 LDX #$39 6900 STX S+1 6910 INX 6920 STX S+3 6930 LDA $B3 6940 CMP #1 6950 BEQ START+11 6960 ;LOOP 6970 B1 LDA 53279 6980 STA 53250 6990 STA 53251 7000 CMP #6 7010 BEQ START 7020 CMP #3 7030 BEQ OPT 7040 CMP #5 7050 BEQ SEL 7060 JMP B1 7070 SEL LDX $B0 7080 INX 7090 CPX #10 7100 BCC C3 7110 LDX #1 7120 C3 STX $B0 7130 STX $E2 7140 STX 77 7150 JSR LEVC 7160 JMP B2 7170 OPT LDX $B1 7180 STX 77 7190 CPX #1 7200 BEQ B2-4 7210 DEX 7220 STX $B1 7230 TXA 7240 CLC 7250 ADC #16 7260 STA $3AEA 7270 JMP B2 7280 INX 7290 JMP OPT+9 7300 B2 LDA 20 7310 CLC 7320 ADC #9 7330 LDX #0 7340 STX 53250 7350 STX 53251 7360 CMP 20 7370 BEQ B1 7380 JMP B2+7 7390 ;START 7400 START LDA $E2 7410 STA $B0 7420 LDA #1 7430 STA $B3 7440 JMP A6-3 7450 LDA #0 7460 STA $B3 7470 STA $B8 7480 LDA #19 7490 STA $3ADF 7500 LDX $B1 7510 CPX #1 7520 BEQ B3 7530 STA $3AEE 7540 B3 LDA #100 7550 STA HPO 7560 LDA #130 7570 STA VPO 7580 CPX #1 7590 BEQ B3+20 7600 STA VPO+1 7610 LDA #156 7620 STA HPO+1 7630 LDX #10 7640 LDA #0 7650 STA $D3,X 7660 DEX 7670 BNE B3+24 7680 LDA 53770 7690 AND #15 7700 CLC 7710 ADC #3 7720 STA $D5 7730 LDA $B0 7740 CMP #7 7750 BCC G5-2 7760 LDX #1 7770 STX $BA 7780 LDY #10 7790 STA ASP 7800 CMP #10 7810 BCC G5-2 7820 STX $BB 7830 LDY #12 7840 STA ASP+1 7850 LDY $B7 7860 G5 JSR PX 7870 DEY 7880 BNE G5 7890 LDY #6 7900 LDA #16 7910 STA $3ACA,Y 7920 STA $3AD4,Y 7930 STA TS2+2,Y 7940 STA TS2+12,Y 7950 DEY 7960 BNE G5+10 7970 LDA $B0 7980 STA $E2 7990 ;MAIN LOOP 8000 ML LDA 53279 8010 CMP #6 8020 BNE ML+10 8030 JMP START 8040 CMP #7 8050 BCS ML+17 8060 JMP A6-3 8070 LDA #0 8080 STA 77 8090 LDA #$82 8100 STA $3ABA 8110 LDA $E0 8120 CMP #45 8130 BCC Q1 8140 JSR SE 8150 Q1 JSR SUV 8160 LDA 764 8170 CMP #255 8180 BEQ N9 8190 JMP PAUSE 8200 N9 LDA $B9 8210 LSR A 8220 BCS B5+3 8230 LDA $0278 8240 JSR JOY 8250 CPX #0 8260 BEQ B5 8270 LDA $0284 8280 CMP #1 8290 BEQ B5 8300 LDA #0 8310 STA AMO 8320 STA APO 8330 LDY VMO 8340 LDA $3B00,Y 8350 AND #252 8360 STA $3B00,Y 8370 LDA HPO 8380 ADC #3 8390 STA HMO 8400 LDA VPO 8410 SBC #3 8420 STA VMO 8430 STX AMO 8440 LDA #0 8450 STA $BD 8460 JMP B5+3 8470 B5 STX APO 8480 LDA $B1 8490 CMP #2 8500 BNE B6+3 8510 LDA $B9 8520 LSR A 8530 LSR A 8540 BCS B6+3 8550 LDA $0279 8560 JSR JOY 8570 CPX #0 8580 BEQ B6 8590 LDA $0285 8600 CMP #1 8610 BEQ B6 8620 LDA #0 8630 STA AMO+1 8640 STA APO+1 8650 LDY VMO+1 8660 LDA $3B00,Y 8670 AND #243 8680 STA $3B00,Y 8690 LDA HPO+1 8700 ADC #3 8710 STA HMO+1 8720 LDA VPO+1 8730 SBC #3 8740 STA VMO+1 8750 STX AMO+1 8760 LDA #0 8770 STA $BD 8780 JMP B6+3 8790 B6 STX APO+1 8800 LDA $CF 8810 CMP $B4 8820 BCS MLA-4 8830 JMP C2 8840 LDA #0 8850 STA $CF 8860 ;LASER MOVE 8870 MLA LDY #4 8880 LDA XLA-1,Y 8890 CMP #0 8900 BNE I1 8910 DEY 8920 BNE MLA+2 8930 JMP C2 8940 I1 LDX #2 8950 CPY #3 8960 BCS I1+8 8970 LDX #0 8980 STA S,X 8990 LDA LMN+3,Y 9000 STA (S,X) 9010 STX $C3 9020 LDA 53770 9030 AND #1 9040 CPY #3 9050 BEQ I2 9060 CPY #1 9070 BEQ I2 9080 CLC 9090 ADC #2 9100 I2 CLC 9110 ADC #1 9120 STA $C2 9130 TAX 9140 LDA XLA-1,Y 9150 CLC 9160 ADC LVC-1,X 9170 LDX $C3 9180 STA S,X 9190 LDA (S,X) 9200 CMP LMN+3,Y 9210 BEQ I4+4 9220 LDX $C2 9230 CPX #1 9240 BEQ I4 9250 CPX #3 9260 BEQ I4 9270 DEX 9280 TXA 9290 JMP I2+3 9300 I4 INX 9310 JMP I4-6 9320 LDA S,X 9330 STA XLA-1,Y 9340 LDA LMN-1,Y 9350 STA (S,X) 9360 JMP MLA+9 9370 C9 JMP E4 9380 ;PULSAR MOVE 9390 C2 LDA $D6 9400 CMP #1 9410 BCS C9 9420 LDA $B0 9430 CMP #4 9440 BCC C9 9450 LDA $CE 9460 CMP $B4 9470 BCC C9 9480 LDA #0 9490 STA $CE 9500 LDA $D5 9510 CMP #0 9520 BEQ C2+30 9530 DEC $D5 9540 LDY XPL 9550 LDX BPL 9560 STY S,X 9570 LDA #131 9580 STA (S,X) 9590 TYA 9600 CMP #180 9610 BNE C7 9620 LDA #236 9630 STA XPL 9640 LDX #2 9650 STX BPL 9660 JMP C7+9 9670 C7 CMP #80 9680 BNE C7+9 9690 LDX #0 9700 STX BPL 9710 LDA XPL 9720 CLC 9730 ADC #20 9740 STA XPL 9750 STA S,X 9760 LDA #89 9770 STA (S,X) 9780 LDA $B0 9790 CMP #7 9800 BCC C9 9810 LDY XPL+1 9820 LDX BPL+1 9830 STY S,X 9840 LDA #132 9850 STA (S,X) 9860 TYA 9870 CMP #19 9880 BNE C8 9890 LDX #0 9900 STX BPL+1 9910 LDA #219 9920 STA XPL+1 9930 JMP C8+9 9940 C8 CMP #119 9950 BNE C8+9 9960 LDX #2 9970 STX BPL+1 9980 LDA XPL+1 9990 SEC 010000 SBC #20 010010 STA XPL+1 010020 STA S,X 010030 LDA #90 010040 STA (S,X) 010050 ;PULSAR FIRE 010060 E4 LDA $B0 010070 CMP #4 010080 BCS D8-9 010090 JMP CS 010100 LDA $D5 010110 CMP #0 010120 BEQ D8 010130 JMP CS 010140 D8 LDA $D6 010150 CMP #1 010160 BEQ D9 010170 CMP #2 010180 BEQ E1 010190 INC $D6 010200 LDA #50 010210 STA $D7 010220 LDA #200 010230 STA $D205 010240 LDA #163 010250 STA $D204 010260 LDA #252 010270 STA $BE 010280 JMP CS 010290 D9 LDA $D7 010300 CMP #0 010310 BEQ D9+9 010320 JMP CS 010330 LDA #30 010340 STA $D7 010350 INC $D6 010360 LDA #211 010370 STA $C4 010380 E2 LDX BPL 010390 LDY XPL 010400 INY 010410 STY S,X 010420 TYA 010430 LDY #18 010440 LDA $C4 010450 STA (S,X) 010460 INC S,X 010470 DEY 010480 BNE E2+14 010490 LDA #0 010500 STA $BE 010510 LDA $B0 010520 CMP #7 010530 BCS B4 010540 JMP CS 010550 B4 LDX BPL+1 010560 LDY XPL+1 010570 DEY 010580 STY S,X 010590 LDY #18 010600 LDA $C4 010610 STA (S,X) 010620 DEC S,X 010630 DEY 010640 BNE B4+13 010650 JMP CS 010660 E1 LDA $D7 010670 CMP #0 010680 BNE CS 010690 STA $C4 010700 STA $D6 010710 LDA 53770 010720 AND #15 010730 CLC 010740 ADC #3 010750 STA $D5 010760 JMP E2 010770 ;SPIKE CHECK 010780 CS LDA $B0 010790 CMP #7 010800 BCS CS+9 010810 JMP E3 010820 LDY #0 010830 LDA HSP,Y 010840 CMP #$33 010850 BCC E7 010860 CMP #$C4 010870 BCS E7+9 010880 LDA VSP,Y 010890 CMP #$D9 010900 BCS E7-13 010910 CMP #$4F 010920 BCC E7+18 010930 JMP E6+9 010940 JSR FA 010950 CMP #6 010960 BNE E6 010970 CLC 010980 ADC #10 010990 JMP E6 011000 E7 JSR FA 011010 CLC 011020 ADC #2 011030 JMP E6 011040 JSR FA 011050 CLC 011060 ADC #10 011070 JMP E6 011080 JSR FA 011090 CLC 011100 ADC #6 011110 E6 LDX $BA,Y 011120 CPX #0 011130 BEQ E6+9 011140 STA ASP,Y 011150 LDA $B0 011160 CMP #13 011170 BCC E3 011180 INY 011190 CPY #1 011200 BEQ CS+11 011210 ;XENO MOVE 011220 E3 LDA $DB 011230 CMP $B5 011240 BCS F1 011250 JMP E8 011260 F1 LDA #0 011270 STA $DB 011280 LDY $B7 011290 LDA XPO,Y 011300 CMP #0 011310 BEQ F2-6 011320 LDX BIT,Y 011330 STA S,X 011340 LDA (S,X) 011350 CMP #1 011360 BEQ F2 011370 LDA #0 011380 STA XPO,Y 011390 STA BIT,Y 011400 DEC $B8 011410 DEY 011420 BNE F1+6 011430 JMP E8 011440 F2 LDX DIR,Y 011450 LDA XPO,Y 011460 CLC 011470 ADC VC2,X 011480 LDX BIT,Y 011490 CMP #200 011500 BCC F3 011510 JSR H3 011520 F3 STA S,X 011530 LDA (S,X) 011540 CMP #0 011550 BEQ F5 011560 LDA 53770 011570 AND #7 011580 CLC 011590 ADC #1 011600 STA DIR,Y 011610 JMP F2-6 011620 F5 LDA S,X 011630 STA $C3 011640 STX $C2 011650 LDA XPO,Y 011660 LDX BIT,Y 011670 STA S,X 011680 LDA #0 011690 STA (S,X) 011700 LDA $C3 011710 LDX $C2 011720 STA S,X 011730 STA XPO,Y 011740 TXA 011750 STA BIT,Y 011760 LDA #1 011770 STA (S,X) 011780 JMP F2-6 011790 ;PUT XENO 011800 PX LDA $B8 011810 CMP $B7 011820 BCC G6 011830 RTS 011840 G6 LDA #5 011850 STA $C3 011860 LDA XPO,Y 011870 CMP #0 011880 BEQ G6+12 011890 RTS 011900 LDA 53770 011910 AND #2 011920 TAX 011930 STA BIT,Y 011940 LDA 53770 011950 AND #7 011960 CPX #2 011970 BEQ F6 011980 CLC 011990 ADC #26 012000 STA XPO,Y 012010 JMP F6+6 012020 F6 CLC 012030 ADC #166 012040 STA XPO,Y 012050 STA S,X 012060 LDA (S,X) 012070 CMP #0 012080 BEQ F7 012090 LDA #0 012100 STA XPO,Y 012110 DEC $C3 012120 LDA $C3 012130 CMP #0 012140 BNE G6+12 012150 LDA 53770 012160 AND #7 012170 CLC 012180 ADC #1 012190 STA DIR,Y 012200 RTS 012210 F7 INC $B8 012220 LDA #1 012230 STA (S,X) 012240 RTS 012250 E8 LDY $B7 012260 JSR PX 012270 DEY 012280 BNE E8+2 012290 ;PUT LAS SHOT 012300 PLS LDY #4 012310 LDA XSH,Y 012320 CMP #0 012330 BEQ H4 012340 DEY 012350 BNE PLS+2 012360 JMP CMLS 012370 H4 LDA XLA-1,Y 012380 CMP #0 012390 BEQ PLS+9 012400 CLC 012410 ADC LSV-1,Y 012420 LDX #0 012430 CPY #3 012440 BCC H5 012450 LDX #2 012460 H5 STA S,X 012470 LDA (S,X) 012480 CMP #0 012490 BNE PLS+9 012500 LDA S,X 012510 STA XSH,Y 012520 TXA 012530 STA BSH,Y 012540 LDA LSV+3,Y 012550 STA (S,X) 012560 JMP PLS+9 012570 ;CH LAS MOVE 012580 CMLS LDA $D8 012590 CMP #0 012600 BEQ CMLS+9 012610 JMP CC 012620 LDX #5 012630 LDY #3 012640 G7 CPY $B0 012650 BCS MLS-2 012660 INY 012670 INY 012680 INY 012690 DEX 012700 JMP G7 012710 STX $D8 012720 ;MOVE LAS SHOT 012730 MLS LDY #4 012740 LDX BSH,Y 012750 LDA XSH,Y 012760 STA S,X 012770 LDA (S,X) 012780 CMP CLS-1,Y 012790 BCC H6 012800 LDA #0 012810 STA XSH,Y 012820 STA BSH,Y 012830 DEY 012840 BNE MLS+2 012850 JMP CC 012860 H6 CMP CLS+3,Y 012870 BCS H6+8 012880 JMP H6-14 012890 CMP CLS+7,Y 012900 BEQ H7 012910 CPY #3 012920 BCS H7-8 012930 CLC 012940 ADC #1 012950 STA (S,X) 012960 JMP H6-6 012970 SEC 012980 SBC #1 012990 STA (S,X) 013000 JMP H6-6 013010 H7 LDA #0 013020 STA (S,X) 013030 LDA XSH,Y 013040 CLC 013050 ADC LSV-1,Y 013060 LDX BSH,Y 013070 CMP #200 013080 BCC H8 013090 JSR H3 013100 H8 STA S,X 013110 LDA (S,X) 013120 CMP #0 013130 BEQ H8+11 013140 JMP H6-14 013150 TXA 013160 STA BSH,Y 013170 LDA S,X 013180 STA XSH,Y 013190 LDA CLS+3,Y 013200 CPY #3 013210 BCS H9 013220 STA (S,X) 013230 JMP H6-6 013240 H9 CLC 013250 ADC #3 013260 JMP H9-5 013270 ;CHECK COLIS 013280 CC LDA #0 013290 STA $C0 013300 LDA 53252 013310 CMP #0 013320 BEQ K1 013330 STA HPO 013340 JSR K6 013350 K1 LDA 53260 013360 CMP #0 013370 BEQ K2 013380 STA HPO 013390 JSR K6 013400 K2 LDA 53253 013410 CMP #0 013420 BEQ K2+13 013430 STA HPO+1 013440 JSR K8 013450 LDA 53261 013460 CMP #0 013470 BEQ K3 013480 STA HPO+1 013490 JSR K8 013500 K3 LDY #0 013510 LDA 53248,Y 013520 CMP #0 013530 BEQ M1-5 013540 LSR A 013550 PHA 013560 BCC K4 013570 JSR LOC 013580 LDA #0 013590 STA (S,X) 013600 LDX #10 013610 STX $DE 013620 JSR ADS 013630 LDA #25 013640 STA $BF 013650 K4 PLA 013660 LSR A 013670 BCC K5 013680 JSR LOC 013690 LDA (S,X) 013700 CMP #75 013710 BCS K5 013720 SEC 013730 SBC #71 013740 TAX 013750 LDA LMN+4,X 013760 PHA 013770 LDA #0 013780 STA XLA,X 013790 PLA 013800 LDX $C1 013810 STA (S,X) 013820 LDX #50 013830 STX $DE 013840 JSR ADS 013850 LDA #25 013860 STA $BF 013870 K5 INC $C0 013880 LDA #0 013890 STA AMO,Y 013900 STA HMO,Y 013910 INY 013920 CPY #1 013930 BEQ K3+2 013940 M1 LDY #0 013950 LDA 53256,Y 013960 LSR A 013970 PHA 013980 BCC M2 013990 CPY #1 014000 BNE M2 014010 LDA $B9 014020 LSR A 014030 BCS M2 014040 STY HPO 014050 JSR K6 014060 LDY #1 014070 LDX #250 014080 STX $DE 014090 JSR ADS 014100 LDA #25 014110 STA $BF 014120 M2 PLA 014130 LSR A 014140 PHA 014150 BCC M3 014160 CPY #0 014170 BNE M3 014180 LDA $B9 014190 LSR A 014200 LSR A 014210 BCS M3 014220 STY HPO+1 014230 JSR K8 014240 LDX #250 014250 STX $DE 014260 JSR ADS 014270 LDA #25 014280 STA $BF 014290 M3 PLA 014300 LSR A 014310 PHA 014320 BCC M4 014330 LDA #0 014340 STA ASP 014350 STA HSP 014360 STA VSP 014370 STA $BA 014380 STA HMO,Y 014390 STA AMO,Y 014400 LDX #100 014410 STX $DE 014420 JSR ADS 014430 LDA #25 014440 STA $BF 014450 LDX #0 014460 TXA 014470 STA $3E00,X 014480 DEX 014490 BNE M4-8 014500 INC $C0 014510 M4 PLA 014520 LSR A 014530 BCC M5 014540 LDA #0 014550 STA ASP+1 014560 STA HSP+1 014570 STA VSP+1 014580 STA $BB 014590 STA HMO+1 014600 STA AMO+1 014610 LDX #100 014620 STX $DE 014630 JSR ADS 014640 LDA #25 014650 STA $BF 014660 LDX #0 014670 TXA 014680 STA $3F00,X 014690 DEX 014700 BNE M5-8 014710 INC $C0 014720 M5 INY 014730 CPY #1 014740 BNE M5+8 014750 JMP M1+2 014760 LDA $C0 014770 CMP #0 014780 BEQ M5+14 014790 STA 53278 014800 ;TIMER&CD 014810 LDA 20 014820 CMP #16 014830 BCS O7 014840 JMP CD 014850 O7 LDA #0 014860 STA 20 014870 LDA $3AE7 014880 CMP #16 014890 BEQ O8 014900 DEC $3AE7 014910 JMP CD 014920 O8 LDA $3AE6 014930 CMP #16 014940 BEQ O9 014950 DEC $3AE6 014960 LDA #25 014970 STA $3AE7 014980 JMP CD 014990 O9 LDA $B0 015000 CMP #15 015010 BCS O9+8 015020 INC $B0 015030 JSR LEVC 015040 LDA #25 015050 STA $3AE6 015060 STA $3AE7 015070 CD LDA $3AEE 015080 CMP #16 015090 BEQ CD+10 015100 JMP P3-2 015110 LDA $3ADF 015120 CMP #16 015130 BNE P3-2 015140 JMP BD 015150 LDX #2 015160 P3 LDA HMO-1,X 015170 CMP #$2F 015180 BCC P2 015190 CMP #$CC 015200 BCS P2 015210 LDA VMO-1,X 015220 CMP #$43 015230 BCC P2 015240 CMP #$DF 015250 BCS P2 015260 DEX 015270 BNE P3 015280 JMP ML 015290 P2 LDA #0 015300 STA AMO-1,X 015310 STA HMO-1,X 015320 JMP P2-6 015330 ;LOCATE 015340 LOC LDA #0 015350 STA AMO,Y 015360 INC $C0 015370 LDA HMO,Y 015380 SEC 015390 SBC #47 015400 LDX #0 015410 L1 CMP #8 015420 BCC L2 015430 SEC 015440 SBC #8 015450 INX 015460 JMP L1 015470 L2 STX $C2 015480 LDA VMO,Y 015490 SEC 015500 SBC #64 015510 LDX #0 015520 CMP #8 015530 BCC L3 015540 SEC 015550 SBC #8 015560 INX 015570 JMP L2+10 015580 L3 STX $C3 015590 CPX #10 015600 BCS L4 015610 LDA #0 015620 STA $C1 015630 LDA $C2 015640 CPX #0 015650 BEQ L4-5 015660 L5 CLC 015670 ADC #20 015680 DEX 015690 BNE L5 015700 LDX $C1 015710 STA S,X 015720 RTS 015730 L4 LDA #2 015740 STA $C1 015750 TXA 015760 SEC 015770 SBC #10 015780 TAX 015790 JMP L5-6 015800 ;HIT PLAYER 015810 K6 INC $C0 015820 LDA $B9 015830 LSR A 015840 BCS K7+28 015850 LDA #0 015860 STA $E0 015870 STA $BF 015880 LDX $3ADF 015890 CPX #16 015900 BEQ K7+27 015910 DEX 015920 STX $3ADF 015930 LDA $B9 015940 ORA #1 015950 STA $B9 015960 LDY VPO 015970 LDX #8 015980 LDA #0 015990 K7 STA $3C00,Y 016000 DEY 016010 DEX 016020 BNE K7 016030 STA APO 016040 LDX $3ADF 016050 CPX #16 016060 BEQ K7+27 016070 LDA #100 016080 STA HPO 016090 LDA #130 016100 STA VPO 016110 RTS 016120 LDA #100 016130 STA HPO 016140 RTS 016150 K8 INC $C0 016160 LDA $B9 016170 LSR A 016180 LSR A 016190 BCS K9+28 016200 LDA #0 016210 STA $E0 016220 STA $BF 016230 LDX $3AEE 016240 CPX #16 016250 BEQ K9+27 016260 DEX 016270 STX $3AEE 016280 LDA $B9 016290 ORA #2 016300 STA $B9 016310 LDY VPO+1 016320 LDX #8 016330 LDA #0 016340 K9 STA $3D00,Y 016350 DEY 016360 DEX 016370 BNE K9 016380 STA APO+1 016390 LDX $3AEE 016400 CPX #16 016410 BEQ K9+27 016420 LDA #156 016430 STA HPO+1 016440 LDA #130 016450 STA VPO+1 016460 RTS 016470 LDA #156 016480 STA HPO+1 016490 RTS 016500 ;STAT EXIS 016510 SE LDA $B9 016520 LSR A 016530 BCC L7 016540 LDA $3ADF 016550 CMP #17 016560 BCC L7 016570 LDA $0284 016580 CMP #0 016590 BNE L7 016600 LDA $B9 016610 AND #2 016620 STA $B9 016630 L7 LDA $B1 016640 CMP #2 016650 BNE L6 016660 LDA $B9 016670 LSR A 016680 LSR A 016690 BCC L6 016700 LDA $3AEE 016710 CMP #17 016720 BCC L6 016730 LDA $0285 016740 CMP #0 016750 BNE L6 016760 LDA $B9 016770 AND #1 016780 STA $B9 016790 L6 RTS 016800 ;ADS 016810 ADS PHA 016820 TYA 016830 PHA 016840 CMP #1 016850 BEQ N1 016860 LDY #6 016870 STY $DD 016880 N2 LDA $B0 016890 PHA 016900 LDA $3ACA,Y 016910 CMP #25 016920 BCS N3 016930 ADC #1 016940 STA $3ACA,Y 016950 CPY #12 016960 BEQ N6+3 016970 CPY #2 016980 BEQ N5 016990 LDY $DD 017000 DEX 017010 BNE N2+3 017020 LDX $DE 017030 DEC $B0 017040 BNE N2+3 017050 PLA 017060 STA $B0 017070 PLA 017080 TAY 017090 PLA 017100 RTS 017110 N1 LDY #16 017120 JMP N2-2 017130 N3 LDA #16 017140 STA $3ACA,Y 017150 CPY #11 017160 BEQ N3+12 017170 DEY 017180 BNE N2+3 017190 LDY $DD 017200 JMP N2+3 017210 N5 LDY #0 017220 LDA $3ADF,Y 017230 CMP #25 017240 BEQ N6 017250 CLC 017260 ADC #1 017270 STA $3ADF,Y 017280 LDA #252 017290 STA $E3 017300 LDA #0 017310 STA $E6 017320 N6 JMP N2+23 017330 LDY #15 017340 JMP N5+2 017350 ;SCORE UP VBI 017360 SUV LDA $DA 017370 CMP #0 017380 BEQ SUV+7 017390 RTS 017400 LDA 20 017410 CMP #4 017420 BEQ P1 017430 CMP #8 017440 BEQ P1 017450 CMP #12 017460 BEQ P1 017470 RTS 017480 P1 LDA #1 017490 STA $DA 017500 LDA $B9 017510 LSR A 017520 PHA 017530 BCS N4 017540 LDX #1 017550 LDY #0 017560 STX $DE 017570 JSR ADS 017580 N4 PLA 017590 LSR A 017600 BCS N4+13 017610 LDX #1 017620 LDY #1 017630 STX $DE 017640 JSR ADS 017650 RTS 017660 ;PUT 017670 PUT LDX #4 017680 LDA XLA-1,X 017690 CMP #0 017700 BEQ O1 017710 DEX 017720 BNE PUT+2 017730 JMP O2 017740 O1 LDA XAL-1,X 017750 STA XLA-1,X 017760 JMP PUT+9 017770 O2 LDA $B0 017780 CMP #4 017790 BCC O3 017800 LDA XPL 017810 CMP #0 017820 BNE O4 017830 LDA BPL 017840 CMP #2 017850 BEQ O4 017860 LDA #100 017870 STA XPL 017880 O4 LDA $B0 017890 CMP #7 017900 BCC O3 017910 LDA XPL+1 017920 CMP #0 017930 BNE O5 017940 LDA #99 017950 STA XPL+1 017960 LDA #2 017970 STA BPL+1 017980 O5 LDX #0 017990 LDA HSP,X 018000 CMP #0 018010 BNE O6 018020 LDA #72 018030 STA VSP,X 018040 LDA #128 018050 STA HSP,X 018060 LDA #1 018070 STA $BA,X 018080 STA 53250 018090 STA 53251 018100 O6 INX 018110 CPX #2 018120 BCS O3 018130 LDA $B0 018140 CMP #10 018150 BCS O5+2 018160 O3 RTS 018170 ;PAUSE 018180 PAUSE LDA #255 018190 STA 764 018200 LDA $BE 018210 PHA 018220 LDA #251 018230 STA $BE 018240 LDA $B0 018250 PHA 018260 LDA #1 018270 STA $B0 018280 LDA #0 018290 LDX AMO 018300 LDY AMO+1 018310 STA AMO 018320 STA AMO+1 018330 LDA $D01F 018340 CMP #6 018350 BNE N8 018360 PLA 018370 STA $B0 018380 PLA 018390 JMP START 018400 N8 CMP #7 018410 BCS N8+11 018420 PLA 018430 STA $B0 018440 PLA 018450 JMP A6-3 018460 LDA $0279 018470 CMP #15 018480 BEQ N8+21 018490 JMP BD-15 018500 LDA $0278 018510 CMP #15 018520 BEQ N8-14 018530 STX AMO 018540 STY AMO+1 018550 PLA 018560 STA $B0 018570 PLA 018580 STA $BE 018590 JMP N9 018600 ;Hscore&Death 018610 BD LDY #0 018620 LDA $3ACB,Y 018630 CMP $39D5,Y 018640 BCC P4 018650 BNE P5 018660 INY 018670 CPY #6 018680 BCC BD+2 018690 P4 LDY #0 018700 LDA $3AD5,Y 018710 CMP $39D5,Y 018720 BCC P6 018730 BNE P7 018740 INY 018750 CPY #6 018760 BCC P4+2 018770 JMP P6 018780 P5 LDY #6 018790 LDA $3ACA,Y 018800 STA $39D4,Y 018810 STA TS1+12,Y 018820 DEY 018830 BNE P5+2 018840 JMP P4 018850 P7 LDY #6 018860 LDA $3AD4,Y 018870 STA $39D4,Y 018880 STA TS1+12,Y 018890 DEY 018900 BNE P7+2 018910 P6 LDY #6 018920 LDA $3ACA,Y 018930 STA TS2+2,Y 018940 LDA $3AD4,Y 018950 STA TS2+12,Y 018960 DEY 018970 BNE P6+2 018980 JMP A6-3 018990 *= $02E0 019000 .WORD RUN 019010 .END